# Python自定义异常及用法
class SelfExceptionError(Exception):
    pass

try:
    raise SelfExceptionError()
except SelfExceptionError as err:
    print("捕捉到自定义异常")

print()

class InputError(Exception):
    '''当输出有误时，抛出异常'''
    # 自定义异常类型的初始化
    def __init__(self, value):
        self.value = value
    
    # 返回异常类对象的说明信息
    def __str__(self):
        return ("{} is invalid input".format(repr(self.value)))

try:
    raise InputError(1) # 抛出 InputError 这个异常
except InputError as err:
    print('error: {}'.format(err))
